1. Field of the Invention
The present invention generally relates to a communication device, a communication system, and a recording medium in a system where a terminal device at a server site and a terminal device at a client site are both connected to a network, and more particularly to a communication device used for allowing the terminal device at the client site to use a unit connected with the terminal device at the server site, a communication system, and a recording medium stored with steps for implementing this process operation so as to be readable by a computer.
2. Related Background Art
Conventionally, there has been utilized a system called a server/client system in which a terminal device at a server site (hereinafter referred to as xe2x80x9cserver devicexe2x80x9d) having various kinds of units such as image reading device connected therewith, and a plurality of terminal devices at client sites (hereinafter referred to as xe2x80x9cclient devicesxe2x80x9d) are connected to a network so that a unit (shared unit) connected with the server devices can be used from the respective client devices.
In such a system, the operation of each of these devices can be controlled by a central processing unit (CPU) provided in each device which executes a given program.
In the foregoing conventional system, while a user at a certain client device (hereinafter referred to xe2x80x9cclient device Axe2x80x9d) uses a unit connected with the server device, if the client device A is down, the unit connected with the server device remains in the slave state where the client device A has a right to use the unit. Therefore, in this state, no one else may use the unit.
For this reason, a user of the client device A must go to the server site, search a process incapable of being controlled (i.e., a program causing the unit to remain in the slave state) because the client device A is down among the programs (server programs) running on the server device, and then kill that process. In this case, if the server device is located at an extremely remote place from the client device A, the user of the client device A is required to contact the user of the server device by telephone or the like to stop executing the above program.
On the other hand, when the server device is down, the client device A will not be notified that the server device is recovered and ready to start up. Accordingly, a sequence of normal commands will continue to be forwarded from the client device A to the server device. In other words, the server device is supplied with a command from the client device A without any initial process. Then, an error occurs at the server device, resulting in an abnormal termination of the server program, or suffering from such a problem that it is time-consuming to terminate an execution of a client program due to the time period required for handling the error.
In this case, therefore, the user of the client device A is required to once terminate the client program, and thereafter execute the client program again, to thereby use the unit connected with the server device.
The present invention has been made in order to overcome the foregoing drawbacks, and therefore has an object of the present invention to provide a communication device for allowing a shared unit connected to a network to be efficiently used, a communication system, and a recording medium stored with steps for implementing this process so as to be readable by a computer.
In order to attain the above object, according to one embodiment of the present invention, there is provided a terminal device with which a shared unit shared with the other terminal device on a network is connected, the terminal device comprising:
(a) transmitting/receiving means for receiving information sent from the other terminal device with respect to the shared unit; and
(b) control means for allowing the other terminal device a right to use the shared unit based on the information sent from the other terminal device and received by the transmitting/receiving means, and for releasing a state having the right to use the shared unit, if the information sent from the other terminal device is indicative of a given instruction.
According to another embodiment of the present invention, there is provided a communication system in which a shared unit having a predetermined function can be shared with respective terminal devices, characterized in that the communication system comprising:
(a) a first terminal device with which the shared unit is connected; and
(b) a terminal device using the shared unit, the terminal device including input means for inputting information on the shared unit, and transmitting/receiving means for transmitting the input information inputted by the input means to the first terminal device.
According to still another embodiment of the present invention, in a system including a plurality of terminal devices capable of being communicated with one another and a unit having a predetermined function, it is characterized in that a recording medium is stored with process steps so as to be readable from a computer, for sharing the unit with respective terminal devices,
the process steps comprising:
a first step of sending out information on the shared unit by a terminal device that uses the shared unit;
a second step of allowing the terminal device that sent out the information a right to use the shared unit based on the information sent out in the first step, and of bring the shared unit to operate; and
a third step of releasing a state having a right to use the shared unit, if the information sent out in the first step is indicative of a given instruction.
Specifically, by way of example, a terminal device at a server site (server device) and a terminal device at a client site (client device) are connected to a network.
A unit having an image reading function (an image reading device) which is shared on a network is directly connected with the server device through no network. The server device has a device control function, a server extension function, and a network server function. The device control function serves to control the operation of the image reading device to obtain image data, or to set a given parameter for the image reading device. The server extension function serves to use an appropriate interface to transmit data to/from the image reading device, or to control the operation of the image reading device to pass the data to/from the network server function. The network server function serves to convert the data transmitted to/from the server extension function into an arbitrary network protocol.
On the other hand, the client device has a client program that corresponds to the arbitrary network protocol, and can control the operation of the image reading device shared on the network or capture the image data obtained by the image reading device.
When the client device uses the image reading device connected with the server device, information on the image reading device (e.g., information for requesting a right to use, information for operation instructions) is transmitted from the client device to the server device. With this, the client device is allowed to use the image reading device while the image reading device connected with the server device is operated (e.g., operatively scanned) by the device control function according to the instruction sent from the client device into the state where the client device is authorized to use the image reading device (slave state).
During this operation, if the client program is down, a given instruction (e.g., to designate the name of the image reading device that is currently used) sent from the client device (or from the server device or another device connected to the network, etc.) may allow this instruction information to be transmitted to the server device. This interrupts the device control function on processing to the image reading device, and releases the state having a right to use the image reading device (slave state). The image reading device is therefore ready for use at another device.
The server device further has a session number creating function, a first session number storing function, and a first session number notifying function. The session number creating function serves to create information (session numbers) for identifying the client device that is using the image reading device. The first session number storing function serves to store the session numbers created by the session number creating function. The first session number notifying function serves to notify the session numbers created by the session number creating function to the client device.
The client device has a second session number storing function for storing the session numbers notified by the first session number notifying function. The client device uses the session numbers stored by the second session number storing function to transmit the information or instruction on the image reading device to the server device.
When the information or instruction on the image reading device is transmitted from the client device, the server device identifies the session number attached thereto with the session numbers stored by the first session number storing function. As a result, the server device can determine whether or not the information or instruction is transmitted from the correct client program (the client device that is currently using the image reading device). If determined that the information or instruction is transmitted incorrectly, the server device immediately notifies the incorrect transmission to the source.